package com.ruoyi.jwxt.service;

import java.util.List;

import com.ruoyi.jwxt.domain.PO.JwxtLabScheduling;
import com.ruoyi.jwxt.domain.PO.JwxtLab;
import com.ruoyi.jwxt.domain.PO.JwxtStudentApplication;
import com.ruoyi.jwxt.domain.PO.JwxtTeacherApplication;

/**
 * 排课管理Service接口
 */
public interface IJwxtLabSchedulingService {

    /**
     * 新增排课管理
     */
    public int insert(JwxtLabScheduling jwxtLabScheduling);

    /**
     * 批量删除排课管理
     */
    public int delete(Long[] scheduleIds);

    /**
     * 删除排课管理信息
     */
    public int delete(Long scheduleId);

    /**
     * 查询排课管理列表
     */
    public List<JwxtLabScheduling> select(JwxtLabScheduling jwxtLabScheduling);

    /**
     * 查询排课管理
     */
    public JwxtLabScheduling select(Long scheduleId);

    /**
     * 修改排课管理
     */
    public int update(JwxtLabScheduling jwxtLabScheduling);

    /**
     * 获得空余实验室
     */
    public List<JwxtLab> getFreeLabs(JwxtTeacherApplication jwxtTeacherExperimentApplication);

    /**
     * 获得空余实验室
     */
    public List<JwxtLab> getFreeLabs(JwxtStudentApplication jwxtStudentApplication);

    /**
     * 通过教师申请
     */
    public int accept(JwxtTeacherApplication jwxtTeacherExperimentApplication);

    /**
     * 驳回教师申请
     */
    public int reject(JwxtTeacherApplication jwxtTeacherExperimentApplication);

    /**
     * 通过学生申请
     */
    public int accept(JwxtStudentApplication jwxtStudentExperimentApplication);

    /**
     * 驳回学生申请
     */
    public int reject(JwxtStudentApplication jwxtStudentExperimentApplication);
}
